package biz.datalk.industrialland.mbg.pojo.po;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.util.Date;

/**
 * 菜单权限表
 */
@TableName(value = "sys_function")
public class SysFunction {
    /**
     * 主键id
     */
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    /**
     * 父id
     */
    @TableField(value = "pid")
    private Long pid;

    /**
     * 菜单编码
     */
    @TableField(value = "func_code")
    private String funcCode;

    /**
     * 菜单标题
     */
    @TableField(value = "title")
    private String title;

    /**
     * 跳转路径
     */
    @TableField(value = "url")
    private String url;

    /**
     * 菜单图标
     */
    @TableField(value = "icon")
    private String icon;

    /**
     * 菜单类型(0:一级菜单; 1:子菜单:2:按钮权限)
     */
    @TableField(value = "func_type")
    private Integer funcType;

    /**
     * 菜单权限编码
     */
    @TableField(value = "perms")
    private String perms;

    /**
     * 权限策略1显示2禁用
     */
    @TableField(value = "perms_type")
    private String permsType;

    /**
     * 菜单排序
     */
    @TableField(value = "func_index")
    private Integer funcIndex;

    /**
     * 是否隐藏: 0否,1是
     */
    @TableField(value = "hidden")
    private Integer hidden;

    /**
     * 描述
     */
    @TableField(value = "description")
    private String description;

    /**
     * 状态（Y启用，N不启用）
     */
    @TableField(value = "is_valid")
    private String isValid;

    /**
     * 删除状态（N，正常，Y已删除）
     */
    @TableField(value = "is_delete")
    private String isDelete;

    /**
     * 创建人
     */
    @TableField(value = "create_by")
    private Long createBy;

    /**
     * 创建时间
     */
    @TableField(value = "create_time")
    private Date createTime;

    /**
     * 更新人
     */
    @TableField(value = "update_by")
    private Long updateBy;

    /**
     * 更新时间
     */
    @TableField(value = "update_time")
    private Date updateTime;

    public static final String COL_ID = "id";

    public static final String COL_PID = "pid";

    public static final String COL_FUNC_CODE = "func_code";

    public static final String COL_TITLE = "title";

    public static final String COL_URL = "url";

    public static final String COL_ICON = "icon";

    public static final String COL_FUNC_TYPE = "func_type";

    public static final String COL_PERMS = "perms";

    public static final String COL_PERMS_TYPE = "perms_type";

    public static final String COL_FUNC_INDEX = "func_index";

    public static final String COL_HIDDEN = "hidden";

    public static final String COL_DESCRIPTION = "description";

    public static final String COL_IS_VALID = "is_valid";

    public static final String COL_IS_DELETE = "is_delete";

    public static final String COL_CREATE_BY = "create_by";

    public static final String COL_CREATE_TIME = "create_time";

    public static final String COL_UPDATE_BY = "update_by";

    public static final String COL_UPDATE_TIME = "update_time";

    /**
     * 获取主键id
     *
     * @return id - 主键id
     */
    public Long getId() {
        return id;
    }

    /**
     * 设置主键id
     *
     * @param id 主键id
     */
    public void setId(Long id) {
        this.id = id;
    }

    /**
     * 获取父id
     *
     * @return pid - 父id
     */
    public Long getPid() {
        return pid;
    }

    /**
     * 设置父id
     *
     * @param pid 父id
     */
    public void setPid(Long pid) {
        this.pid = pid;
    }

    /**
     * 获取菜单编码
     *
     * @return func_code - 菜单编码
     */
    public String getFuncCode() {
        return funcCode;
    }

    /**
     * 设置菜单编码
     *
     * @param funcCode 菜单编码
     */
    public void setFuncCode(String funcCode) {
        this.funcCode = funcCode;
    }

    /**
     * 获取菜单标题
     *
     * @return title - 菜单标题
     */
    public String getTitle() {
        return title;
    }

    /**
     * 设置菜单标题
     *
     * @param title 菜单标题
     */
    public void setTitle(String title) {
        this.title = title;
    }

    /**
     * 获取跳转路径
     *
     * @return url - 跳转路径
     */
    public String getUrl() {
        return url;
    }

    /**
     * 设置跳转路径
     *
     * @param url 跳转路径
     */
    public void setUrl(String url) {
        this.url = url;
    }

    /**
     * 获取菜单图标
     *
     * @return icon - 菜单图标
     */
    public String getIcon() {
        return icon;
    }

    /**
     * 设置菜单图标
     *
     * @param icon 菜单图标
     */
    public void setIcon(String icon) {
        this.icon = icon;
    }

    /**
     * 获取菜单类型(0:一级菜单; 1:子菜单:2:按钮权限)
     *
     * @return func_type - 菜单类型(0:一级菜单; 1:子菜单:2:按钮权限)
     */
    public Integer getFuncType() {
        return funcType;
    }

    /**
     * 设置菜单类型(0:一级菜单; 1:子菜单:2:按钮权限)
     *
     * @param funcType 菜单类型(0:一级菜单; 1:子菜单:2:按钮权限)
     */
    public void setFuncType(Integer funcType) {
        this.funcType = funcType;
    }

    /**
     * 获取菜单权限编码
     *
     * @return perms - 菜单权限编码
     */
    public String getPerms() {
        return perms;
    }

    /**
     * 设置菜单权限编码
     *
     * @param perms 菜单权限编码
     */
    public void setPerms(String perms) {
        this.perms = perms;
    }

    /**
     * 获取权限策略1显示2禁用
     *
     * @return perms_type - 权限策略1显示2禁用
     */
    public String getPermsType() {
        return permsType;
    }

    /**
     * 设置权限策略1显示2禁用
     *
     * @param permsType 权限策略1显示2禁用
     */
    public void setPermsType(String permsType) {
        this.permsType = permsType;
    }

    /**
     * 获取菜单排序
     *
     * @return func_index - 菜单排序
     */
    public Integer getFuncIndex() {
        return funcIndex;
    }

    /**
     * 设置菜单排序
     *
     * @param funcIndex 菜单排序
     */
    public void setFuncIndex(Integer funcIndex) {
        this.funcIndex = funcIndex;
    }

    /**
     * 获取是否隐藏: 0否,1是
     *
     * @return hidden - 是否隐藏: 0否,1是
     */
    public Integer getHidden() {
        return hidden;
    }

    /**
     * 设置是否隐藏: 0否,1是
     *
     * @param hidden 是否隐藏: 0否,1是
     */
    public void setHidden(Integer hidden) {
        this.hidden = hidden;
    }

    /**
     * 获取描述
     *
     * @return description - 描述
     */
    public String getDescription() {
        return description;
    }

    /**
     * 设置描述
     *
     * @param description 描述
     */
    public void setDescription(String description) {
        this.description = description;
    }

    /**
     * 获取状态（Y启用，N不启用）
     *
     * @return is_valid - 状态（Y启用，N不启用）
     */
    public String getIsValid() {
        return isValid;
    }

    /**
     * 设置状态（Y启用，N不启用）
     *
     * @param isValid 状态（Y启用，N不启用）
     */
    public void setIsValid(String isValid) {
        this.isValid = isValid;
    }

    /**
     * 获取删除状态（N，正常，Y已删除）
     *
     * @return is_delete - 删除状态（N，正常，Y已删除）
     */
    public String getIsDelete() {
        return isDelete;
    }

    /**
     * 设置删除状态（N，正常，Y已删除）
     *
     * @param isDelete 删除状态（N，正常，Y已删除）
     */
    public void setIsDelete(String isDelete) {
        this.isDelete = isDelete;
    }

    /**
     * 获取创建人
     *
     * @return create_by - 创建人
     */
    public Long getCreateBy() {
        return createBy;
    }

    /**
     * 设置创建人
     *
     * @param createBy 创建人
     */
    public void setCreateBy(Long createBy) {
        this.createBy = createBy;
    }

    /**
     * 获取创建时间
     *
     * @return create_time - 创建时间
     */
    public Date getCreateTime() {
        return createTime;
    }

    /**
     * 设置创建时间
     *
     * @param createTime 创建时间
     */
    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    /**
     * 获取更新人
     *
     * @return update_by - 更新人
     */
    public Long getUpdateBy() {
        return updateBy;
    }

    /**
     * 设置更新人
     *
     * @param updateBy 更新人
     */
    public void setUpdateBy(Long updateBy) {
        this.updateBy = updateBy;
    }

    /**
     * 获取更新时间
     *
     * @return update_time - 更新时间
     */
    public Date getUpdateTime() {
        return updateTime;
    }

    /**
     * 设置更新时间
     *
     * @param updateTime 更新时间
     */
    public void setUpdateTime(Date updateTime) {
        this.updateTime = updateTime;
    }
}